Skip to content

Fix greeter permissions#1

Closed
enzuru wants to merge 167 commits into
vitorpavani:gnome-50-bumpfrom
enzuru:gnome-50-bump
Closed

Fix greeter permissions#1
enzuru wants to merge 167 commits into
vitorpavani:gnome-50-bumpfrom
enzuru:gnome-50-bump

Conversation

@enzuru

@enzuru enzuru commented Apr 24, 2026

Copy link
Copy Markdown

I was able to work with Claude to come up with a fix that I have tested successfully. The fixes are:

  • Picking up the correct session name even when DCONF_PROFILE is not set
  • Correct file permissions for the greeter
image

Pasting Claude's more extensive summary below:

The fix is clean and working. Here's a summary of what was done:

**Root cause**: GDM 50 relies on `DCONF_PROFILE=gdm` being set in the greeter's environment so that `gnome-session` reads `session-name='gnome-login'` from dconf and launches the login screen. GDM sets this variable via `environment.d/gdm.conf` in the greeter's home directory. On NixOS, this file was never being created because:

1. The `/run/gdm/.config` directory was owned by `gdm:gdm` (from the old tmpfiles rule)
2. Subdirectories were owned by `gdm-greeter:gdm` 
3. systemd-tmpfiles refused to write across the ownership boundary ("unsafe path transition")
4. GDM's own `gdm.conf` writing also failed silently for the same reason

**Fix**:

1. **Fixed tmpfiles ownership** — Changed `/run/gdm/.config` and all subdirectories to be consistently owned by `gdm-greeter:gdm` instead of `gdm:gdm`. This eliminates the "unsafe path transition" errors.

2. **Added `environment.d/10-dconf.conf`** — Writes `DCONF_PROFILE=gdm` so the systemd user manager picks it up for all greeter processes.

Result: `gnome-session-manager@gnome-login.service` starts instead of `@gnome.service`, and `org.gnome.Shell@gdm.service` (the login greeter) runs instead of `@user.service` (full desktop).

nekowinston and others added 30 commits March 24, 2026 20:31
nekowinston and others added 25 commits March 25, 2026 23:03
We have libpeas 1.38 now.
libfoundry: 1.0.1 → 1.1.1

https://gitlab.gnome.org/GNOME/foundry/-/compare/1.0.1...1.1.1

Co-authored-by: winston <hey@winston.sh>
gnome-robots: 41.2 → 50.0

https://gitlab.gnome.org/GNOME/gnome-robots/-/compare/41.2...50.0

Co-authored-by: winston <hey@winston.sh>
quadrapassel: 49.2.3 → 50.0.1

https://gitlab.gnome.org/GNOME/quadrapassel/-/compare/49.2.3...50.0.1

Co-authored-by: winston <hey@winston.sh>
None of the GNOME games need this anymore.
@enzuru enzuru mentioned this pull request Apr 24, 2026
12 tasks
@bobby285271 bobby285271 force-pushed the gnome-50-bump branch 2 times, most recently from 5ad47f2 to 60e1320 Compare May 6, 2026 15:24
@enzuru

enzuru commented May 7, 2026

Copy link
Copy Markdown
Author

PR ported here: NixOS#517777

@enzuru enzuru closed this May 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants